package cn.keyvalue.ccf.common.util;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

import org.apache.commons.lang.ArrayUtils;

/**
 * 正则表达式工具集
 * @author wangxinning
 *
 */
public class RegularUtils {

	/**
	 * 正则表达式匹配，仅返回匹配的第一个字符串
	 * @param str
	 * @param regex
	 * @param groupid
	 * @return
	 */
	public static String matcher( String str, String regex, int groupid )
	{
		Pattern p = Pattern.compile(regex);   
        Matcher m = p.matcher(str);
		
        while(m.find())
        {  
        	if( m.groupCount() < groupid )
        	{
        		return null;
        	}
        	
            return m.group(groupid);
        }
        
        return null;
	}
	
	/**
	 * 正则表达式匹配，返回匹配的所有字符串
	 * @param str
	 * @param regex
	 * @param groupid
	 * @return
	 */
	public static String[] matchers( String str, String regex, int groupid )
	{
		Pattern p = Pattern.compile(regex);   
        Matcher m = p.matcher(str);
        
        String[] retArray = null;
		
        while(m.find())
        {  
        	if( m.groupCount() < groupid )
        	{
        		return null;
        	}
        	
        	retArray = (String[])ArrayUtils.add(retArray, m.group(groupid));
        }
        
        return retArray;
	}

	
	
	public static void main( String[] args )
	{
		System.out.println( ArrayUtils.toString(matchers("111112","1", 0)));
	}
}
